/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.mindbox.mueblesalpes.presentacion.reportes;


import com.mindbox.mueblesalpes.negocio.geo.Ciudad;
import com.mindbox.mueblesalpes.negocio.reportes.IReportes;
import com.mindbox.mueblesalpes.negocio.reportes.ReporteVenta;
import com.mindbox.mueblesalpes.presentacion.utils.Mensajes;
import com.mindbox.mueblesalpes.presentacion.utils.RequestParameters;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.EJB;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;

/**
 *
 * @author Jaimoto
 */

public class ReporteVentasBean {

    private ReporteVenta reporte;
    @EJB
    private IReportes reportesService;
   
    public ReporteVentasBean() {
    }

    public void loadReport(){
        try {
            HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
            Ciudad ciudad = new Ciudad((String)request.getAttribute(RequestParameters.ciudad.name()));
            reporte = reportesService.generarReporteVentas((Date)request.getAttribute(RequestParameters.fechaIni.name()),(Date)request.getAttribute(RequestParameters.fechaFin.name()), ciudad);
        } catch (Exception ex) {
            Mensajes.asignarMensajeError("common.error",ex.getMessage());
            ex.printStackTrace();
            Logger.getLogger(ReporteVentasBean.class.getName()).log(Level.SEVERE, null, ex);
        }
    }



    public ReporteVenta getReporte() {
        if(reporte == null)
            loadReport();
        return reporte;
    }

    public void setReporte(ReporteVenta reporte) {
        this.reporte = reporte;
    }

    

}
